Bitnet Relay—officially The Interchat Relay Network, also known simply as Relay—was a precursor to today's Internet Relay Chat and various online chat systems. It was developed by Jeff Kell (then at JEFF@UTCVM), of (University of Tennessee, Chattanooga) in 1985 in REXX.
Even before Relay was implemented, one could send an instant message (called MSG) to someone on another computer if one knew the other person's userid (i.e., screen name or login) and the name of the remote computer system the person was logged into. This was a basic function of BITNET systems.
Relay was a chat service running on a special id on several suitable hosts in the Bitnet. To use it, one would send a MSG to a userid called RELAY. The Relay program running on that userid would then provide multi-user chat functions, primarily in form of "channels" (chat rooms). The MSG could contain either a command for Relay (prefixed by the ever since popular "/" slash character command prefix) or a message for one or more real persons at a remote host (typically mainframe computers).
The following is an example of a session:
/SIGNUP robert harper * Thank you for signing up, robert harper. * Now use the /SIGNON <nickname> command to * establish a nickname and to logon Relay. /SIGNON rob Welcome to the Interchat Relay Network, Rob. Your host is RELAY@FINHUTC (Finland). Your last logon was at 08:39:23 on 03/17/89. There are 67 users on 27 relays. /HELP **************** Relay Commands *************** /Bye . . . . . . . . . . . . Signoff from Relay /Channel <num> . . . . .Change to channel <num> /COntact <host-nick> . .Show Relay contact info /Getop . . . . . Try to summon a Relay operator /Help. . . . . . . . . . . . . Prints this list /INFo. . . . . . . . . . . Send RELAY INFO file /Invite <nick> . . .Invite user to your channel /LINks . . . . . . . . . . .Shows active relays /List. . . . . . . . . . . List active channels /Msg <nick> <text> . . . .Sends private message /Nick <newnick>. . . . . . Change your nickname /NAmes <channel> . . . . .Show users with names /Rates . . . . . . . . . .Display message rates /SErvers <node>. . . . Show relays serving node /Signon <nick> <channel> . . . .Signon to Relay /Signon <nick>,SHIFT . . Forces uppercase shift /Signon <nick>,UNSHIFT . Forces lowercase shift /Signoff . . . . . . . . . . Signoff from Relay /SIGNUP <full name>. Signup or change full name /STats . . . . . . . . Display Relay statistics /SUmmon <userid>@<node>. . Invite user to Relay /Topic <subject> . . . . Topic for your channel /Who <channel> . . . . Show users and nicknames /WHOIs <nick>. . . . . . . .Identify a nickname /LINKS RELAY Version 01.24x0 Host RELAY@FINHUTC (Finland) Relay RELAY @ CEARN ( Geneva ) -> Finland Relay RELAY @ DEARN ( Germany ) -> Geneva Relay RELAY @ AEARN ( Austria ) -> Germany Relay RELAY @CZHRZU1A ( Zurich ) -> Geneva Relay RELAY @ HEARN ( Holland ) -> Geneva Relay RELAY @TAUNIVM ( TAUrelay ) -> Geneva Relay RELAY @EB0UB011 (Barcelona ) -> Geneva Relay RELAY @ ORION (New_Jersey) -> Geneva Relay RELAY @ BITNIC ( NewYork ) -> New_Jersey Relay RELAY @JPNSUT10 ( Tokyo ) -> NewYork Relay RELAY @ VILLVM (Philadelph) -> New_Jersey Relay RELAY @NDSUVM1 (No_Dakota ) -> New_Jersey Relay RLY @CORNELLC (Ithaca_NY ) -> New_Jersey Relay RELAY @ UTCVM (Tennessee ) -> Pittsburgh Relay RELAY @UIUCVMD (Urbana_IL ) -> Pittsburgh Relay RELAY @CANADA01 ( Canada01 ) -> Ithaca_NY Relay RELAY @ AUVM ( Wash_DC ) -> Va_Tech Relay RELAY @ VTVM2 ( Va_Tech ) -> Ithaca_NY Relay RELAY @UALTAVM ( Edmonton ) -> Canada01 Relay RELAY @NYUCCVM ( Nyu ) -> New_Jersey Relay RELAY @ UWF (Pensacola ) -> Va_Tech Relay MASRELAY@ UBVM ( Buffalo ) -> Ithaca_NY Relay RELAY @CMUCCVMA (Pittsburgh) -> Ithaca_NY Relay RELAY @PURCCVM ( Purdue ) -> Pittsburgh Relay RELAY @UREGINA1 (Regina_Sk ) -> Canada01 Relay RELAY @ GITVM1 ( Atlanta ) -> Tennessee
The Relay servers were connected between each other in a rudimentary multicast fashion, so messages would travel hop by hop along the network of servers. A behaviour that inspired the name of the system to be Relay.
The time it took for a message to get to a recipient varied. Most of the time messages within the United States didn't take more than a few seconds. Sometimes, however, messages could take many minutes or even hours to arrive if network links were down, because BITNET would store and forward them later.
A downside to Bitnet Relay was that it was enforced network-wide as the only permitted chat system. Users were not allowed to develop alternate chat systems, be it for personal research, fun or a craving for privacy. Experimental chats like Galaxy Network or VM/Shell were asked to shut down before they gained popularity.
Bitnet Relay was used mostly in the late 1980s when Valdis Kletnieks at Virginia Tech released a Pascal version from scratch that consumed far less CPU time and early 1990s when Smart Relay appeared which allowed more impressive handling of message delivery.
Kell himself once predicted the demise of Bitnet Relay, his prophecy proved true for reasons far different than the ones he himself gave. TCP/IP and the advent of the Internet spelled the end of BITNET entirely and Unix did not have a similar socket mechanism. However the Relay Chat itself was somewhat closely replicated by Jarkko Oikarinen's Internet Relay Chat.